﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace UFIDA.U8.FTHW.NC2U8BD
{

    public class ApiResponse
    {
        /// <summary>
        /// 错误码
        /// </summary>
        public string code { get; set; }

        /// <summary>
        /// 错误消息
        /// </summary>
        public string message { get; set; }

        /// <summary>
        /// 是否正确（0 正确,1 为错误）
        /// </summary>
        public int successful { get; set; }

        /// <summary>
        /// 数据内容（字符串，存储 json）
        /// </summary>
        public object data { get; set; }
    }
    public class ApiRequest
    {
        // <summary>
        /// WMS账套号
        /// </summary>
        public string orgcode { get; set; }
        /// <summary>
        /// key-id
        /// </summary>
        public string primarykey { get; set; }
        /// <summary>
        /// 操作类别编码，0为新增，1为删除,2 修改
        /// </summary>
        public int operation { get; set; }
        /// <summary>
        /// 参数以json的形式传过来
        /// </summary>
        public object data { get; set; }

        /// <summary>
        /// 来源 一般为来源帐套号
        /// </summary>
        //public string csource { get; set; }
    }
    [Serializable]
    /// <summary>
    /// 客户资料 
    /// 数据表:customer
    /// </summary>
    public class Customer
    {
        #region 构造函数
        public Customer()
        {
        }
        #endregion

        #region 表字段
        /// <summary>
        /// 主键
        /// </summary>
        public String Id
        {
            get;
            set;
        }

        /// <summary>
        /// 客户编号
        /// </summary>
        public String CustomerCode
        {
            get;
            set;
        }

        /// <summary>
        /// 客户名称
        /// </summary>
        public String CustomerName
        {
            get;
            set;
        }

        /// <summary>
        /// 从属分类
        /// </summary>
        public String CustomerCCode
        {
            get;
            set;
        }

        /// <summary>
        /// 组织ID
        /// </summary>
        public String OrgID
        {
            get;
            set;
        }

        /// <summary>
        /// 部门条码值
        /// </summary>
        public String BarCode
        {
            get;
            set;
        }

        /// <summary>
        /// 启用标识（0 停用，1 启用）
        /// </summary>
        public Int32 StartFlag
        {
            get;
            set;
        }

        /// <summary>
        /// 创建人ID
        /// </summary>
        public String CUserID
        {
            get;
            set;
        }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CTime
        {
            get;
            set;
        }

        /// <summary>
        /// 修改人ID
        /// </summary>
        public String MUserID
        {
            get;
            set;
        }

        /// <summary>
        /// 修改时间
        /// </summary>
        public DateTime? MTime
        {
            get;
            set;
        }

        /// <summary>
        /// 客户简称-plf-2017-11-10
        /// </summary>
        public String ShortName
        {
            get;
            set;
        }

        /// <summary>
        /// 产品保质期-plf-2017-12-01
        /// </summary>
        public float Reserved5
        {
            get;
            set;
        }
        #endregion
        #region 验证字段是否可以为空
        public List<string> Validation()
        {
            List<string> vMsgList = new List<string>();

            if (Id == null)
            {
                vMsgList.Add("主键不可以为空！");
            }
            else
            {
                if (Id.ToString().Trim() == "")
                {
                    vMsgList.Add("主键不可以为空！");
                }
            }

            if (CustomerCode == null)
            {
                vMsgList.Add("客户编号不可以为空！");
            }
            else
            {
                if (CustomerCode.ToString().Trim() == "")
                {
                    vMsgList.Add("客户编号不可以为空！");
                }
            }

            if (CustomerName == null)
            {
                vMsgList.Add("客户名称不可以为空！");
            }
            else
            {
                if (CustomerName.ToString().Trim() == "")
                {
                    vMsgList.Add("客户名称不可以为空！");
                }
            }

            if (OrgID == null)
            {
                vMsgList.Add("组织ID不可以为空！");
            }
            else
            {
                if (OrgID.ToString().Trim() == "")
                {
                    vMsgList.Add("组织ID不可以为空！");
                }
            }

            if (BarCode == null)
            {
                vMsgList.Add("部门条码值不可以为空！");
            }
            else
            {
                if (BarCode.ToString().Trim() == "")
                {
                    vMsgList.Add("部门条码值不可以为空！");
                }
            }

            if (StartFlag == null)
            {
                vMsgList.Add("启用标识（0 停用，1 启用）不可以为空！");
            }
            else
            {
                if (StartFlag.ToString().Trim() == "")
                {
                    vMsgList.Add("启用标识（0 停用，1 启用）不可以为空！");
                }
            }

            if (CUserID == null)
            {
                vMsgList.Add("创建人ID不可以为空！");
            }
            else
            {
                if (CUserID.ToString().Trim() == "")
                {
                    vMsgList.Add("创建人ID不可以为空！");
                }
            }

            if (CTime == null)
            {
                vMsgList.Add("创建时间不可以为空！");
            }
            else
            {
                if (CTime.ToString().Trim() == "")
                {
                    vMsgList.Add("创建时间不可以为空！");
                }
            }

            return vMsgList;
        }


        #endregion
    }
    [Serializable]
    /// <summary>
    /// 供应商资料 
    /// 数据表:vendor
    /// </summary>
    public class Vendor
    {
        #region 构造函数
        public Vendor()
        {
        }
        #endregion

        #region 表字段
        /// <summary>
        /// 主键
        /// </summary>
        public String Id
        {
            get;
            set;
        }

        /// <summary>
        /// 供应商编号
        /// </summary>
        public String VendorCode
        {
            get;
            set;
        }

        /// <summary>
        /// 供应商名称
        /// </summary>
        public String VendorName
        {
            get;
            set;
        }

        /// <summary>
        /// 从属分类
        /// </summary>
        public String VendorCCode
        {
            get;
            set;
        }

        /// <summary>
        /// 是否委外供应商
        /// </summary>
        public Int32 OmFlag
        {
            get;
            set;
        }

        /// <summary>
        /// 组织ID
        /// </summary>
        public String OrgID
        {
            get;
            set;
        }

        /// <summary>
        /// 部门条码值
        /// </summary>
        public String BarCode
        {
            get;
            set;
        }

        /// <summary>
        /// 启用标识（0 停用，1 启用）
        /// </summary>
        public Int32 StartFlag
        {
            get;
            set;
        }

        /// <summary>
        /// 创建人ID
        /// </summary>
        public String CUserID
        {
            get;
            set;
        }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CTime
        {
            get;
            set;
        }

        /// <summary>
        /// 修改人ID
        /// </summary>
        public String MUserID
        {
            get;
            set;
        }

        /// <summary>
        /// 修改时间
        /// </summary>
        public DateTime? MTime
        {
            get;
            set;
        }

        #region 手动添加 2017-11-7-plf
        /// <summary>
        /// 供应商简称
        /// </summary>
        public String ShortName
        {
            get;
            set;
        }
        #endregion

        #endregion
        #region 验证字段是否可以为空
        public List<string> Validation()
        {
            List<string> vMsgList = new List<string>();

            if (Id == null)
            {
                vMsgList.Add("主键不可以为空！");
            }
            else
            {
                if (Id.ToString().Trim() == "")
                {
                    vMsgList.Add("主键不可以为空！");
                }
            }

            if (VendorCode == null)
            {
                vMsgList.Add("供应商编号不可以为空！");
            }
            else
            {
                if (VendorCode.ToString().Trim() == "")
                {
                    vMsgList.Add("供应商编号不可以为空！");
                }
            }

            if (VendorName == null)
            {
                vMsgList.Add("供应商名称不可以为空！");
            }
            else
            {
                if (VendorName.ToString().Trim() == "")
                {
                    vMsgList.Add("供应商名称不可以为空！");
                }
            }

            if (VendorCCode == null)
            {
                vMsgList.Add("从属分类不可以为空！");
            }
            else
            {
                if (VendorCCode.ToString().Trim() == "")
                {
                    vMsgList.Add("从属分类不可以为空！");
                }
            }

            if (OmFlag == null)
            {
                vMsgList.Add("是否委外供应商不可以为空！");
            }
            else
            {
                if (OmFlag.ToString().Trim() == "")
                {
                    vMsgList.Add("是否委外供应商不可以为空！");
                }
            }

            if (OrgID == null)
            {
                vMsgList.Add("组织ID不可以为空！");
            }
            else
            {
                if (OrgID.ToString().Trim() == "")
                {
                    vMsgList.Add("组织ID不可以为空！");
                }
            }

            if (BarCode == null)
            {
                vMsgList.Add("部门条码值不可以为空！");
            }
            else
            {
                if (BarCode.ToString().Trim() == "")
                {
                    vMsgList.Add("部门条码值不可以为空！");
                }
            }

            if (StartFlag == null)
            {
                vMsgList.Add("启用标识（0 停用，1 启用）不可以为空！");
            }
            else
            {
                if (StartFlag.ToString().Trim() == "")
                {
                    vMsgList.Add("启用标识（0 停用，1 启用）不可以为空！");
                }
            }

            if (CUserID == null)
            {
                vMsgList.Add("创建人ID不可以为空！");
            }
            else
            {
                if (CUserID.ToString().Trim() == "")
                {
                    vMsgList.Add("创建人ID不可以为空！");
                }
            }

            if (CTime == null)
            {
                vMsgList.Add("创建时间不可以为空！");
            }
            else
            {
                if (CTime.ToString().Trim() == "")
                {
                    vMsgList.Add("创建时间不可以为空！");
                }
            }

            return vMsgList;
        }


        #endregion
    }
}
